Embedded controllers and development tool for embedded controllers

ABSTRACT

An embedded controller development tool which generates an interface means for preserving and outputting a control data calculated by the control operation means based on a specific computational procedure, and providing said control data to a plurality of control operation means including said control operation means; wherein the control operation means is described as a function in the source code of the program, the reference data used for calculation by said control operation is an argument of the function, said control data calculated by said control operation means is the argument of the function which points the return value or the address of said function.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to an embedded controller and adevelopment tool for embedded controllers.

[0002] As an embedded or built-in software, an embedded controller, andan embedded software development tool so far, there is a method ofgenerating automatically the interface program of a basic programaccording to the input information from a programming person (Forinstance, Japanese Patent Application Laid-Open No. 2002-229791, page 4and FIG. 1(b)).

[0003] Moreover, there is a method of generating automatically thesource code by using the control system design support software (MATLABand Simulink) to make the embedded software so far (For instance,CyberNet System Co., Ltd. publication, “MATLAB Expo 2002 model-basedcontrol system design conference material”, pp 103-126).

SUMMARY OF THE INVENTION

[0004] For instance, in the electronic controller for a vehicle, theembedded controller development tool and the development process toimprove the development efficiency of the software for the embeddedcontroller has been researched. They are required to generateautomatically the source code of the software for the embeddedcontroller and to increase the reuse of the software. In theconventional embedded controller, the interface means sets up a part ofthe basic management means. (or instance, Japanese Patent ApplicationLaid-Open No. 2002-229791). Therefore, even when a part of two or morecontrol operation means is changed, it is necessary to change the entireinterface means. That is, there is a problem that the part of theinterface means that should not be originally changed must bere-created.

[0005] An object of the present invention is to solve theabove-mentioned problem, and to increase the reuse of the embeddedcontroller.

[0006] Now, there is a method of generating the source code of thecontrol operation means automatically by using the MATLAB and theSimulink so far (For instance, CyberNet System Co., Ltd. publication,“MATLAB Expo 2002 model-based control system design conferencematerial”, pp 103-126).

[0007] Manual operation was necessary to integrate the handing over ofthe data between the control operation means generated automatically andthe control operation means, and the management of the variables used inthe entire embedded controller even if the control operation means isgenerated by the above-mentioned method.

[0008] There is a problem of taking time to describe the source codewhen the source code of the interface means is described by a person.

[0009] An object of the present invention is to solve theabove-mentioned problem and to improve the productivity of the embeddedcontroller.

[0010] The above-mentioned object is achieved by providing thecorresponding interface means to each control operation means in theembedded controller of the present invention.

[0011] In an embedded controller development tool in the presentinvention, the control operation means is described as a function in thesource code of the program, the reference data used for calculation bysaid control operation is an argument of the function, said control datacalculated by said control operation means is the argument of thefunction which points the return value or the address of said function,further comprising; an analyzing means which extracts the specifiedinformation from the source code of said control operation means; aninterface generating means which generates said corresponding interfacemeans every control operation means based on an analytical result ofsaid analyzing means.

BRIEF DESCRIPTION OF DRAWINGS

[0012]FIG. 1 is an explanatory drawing of the present invention.

[0013]FIG. 2 is a system diagram of an electronic controller for avehicle according to one embodiment of the present invention.

[0014]FIG. 3 is a system diagram of the decentralized embeddedcontroller according to one embodiment of the present invention.

[0015]FIG. 4 is a schematic diagram of software for the embeddedcontroller.

[0016]FIG. 5 is a schematic diagram of the application software.

[0017]FIG. 6 is a flow chart of the task processing software.

[0018]FIG. 7 is a block diagram of the torque base control application.

[0019]FIG. 8 is an illustration of C source codes of the controlsoftware components.

[0020]FIG. 9 is an illustration of C source code of the interfacesoftware.

[0021]FIG. 10 is a view showing the definition information on the torquebase control framework.

[0022]FIG. 11 is a flow chart of the torque base control framework.

[0023]FIG. 12 is a system diagram in the I/O operation part in thedecentralized control system.

[0024]FIG. 13 is a software development process diagram for the embeddedcontroller.

[0025]FIG. 14 is a view showing embedded software development means 1.

[0026]FIG. 15 is a view showing embedded software development means 2.

[0027]FIG. 16 is a view showing embedded software development means 3.

[0028]FIG. 17 is a flow chart of the interface software automaticgeneration.

[0029]FIG. 18 is a flow chart of the control software componentinformation extraction.

[0030]FIG. 19 is an interface software generation flow chart.

[0031]FIG. 20 is an illustration of an embedded software network noticeassignment.

[0032]FIG. 21 is an illustration of an embedded software network noticeassignment service.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0033] An embodiment of the present invention will be explainedreferring to the drawings.

[0034] The vehicle control controller is treated as an example of theembedded controller in this embodiment.

[0035]FIG. 1 shows the basic configuration of the application softwareto which the present invention is applied. Reference numerals 1A, . . .1B and 1C designate control software components where the update logicof control variable are described. This corresponds to the controloperation means in the present invention. 2A, . . . 2B and 2C designatethe interface software which corresponds to the control softwarecomponents.

[0036] This corresponds to the interface means in the present invention.Reference numeral 3 designates the basic logic executed in theapplication software, for instance, the control basic software where theorder of updating the variable, that is, the execution sequence of thecontrol software components is described. This corresponds to thecontrol basis processing means in the present invention.

[0037] Reference numeral 4 is external input data. The externalinformation is obtained by measuring, for instance, by the sensorincluded in the hardware, or by communicating with other applicationsoftwares and controllers.

[0038] This corresponds to the external input processing means in thepresent invention. Reference numeral 5 designates an information outputto the outside. The output to the outside is executed by driving anactuator included in the hardware, or by communicating with otherapplications and controllers.

[0039] This corresponds to the external output processing means in thepresent invention. Reference numeral 6 designates the operation systemwhich carries out the task control and the interruption management ofthe embedded software. This corresponds to the basic management means inthe present invention. The software components and the interfacesoftware are associated with 1A and 2A, and 1B and 2B, respectively.Therefore, when software component 1C is changed for instance, only theinterface software 2C is changed. Namely, the interface software 2A and2B can be used without changing.

[0040] That is, there is an effect that the reuse of the embeddedsoftware which has the interface software is improved by adopting theconfiguration shown in FIG. 1. Although only one hierarchy of theapplication is expressed in FIG. 1, the present invention is not limitedto one hierarchy, but applied to all hierarchies. For instance, softwarecomponents 1A itself can have the configuration shown in FIG. 1. Thisconfiguration is effective in the so-called hierarchized embeddedsoftware configuration.

[0041]FIG. 2 shows the vehicle where the present invention was applied.

[0042] In this example, vehicle 7 has engine 8, control unit (ECU) 10 tocontrol engine 8, for instance, automatic transmission (AT) 9, controlunit (ECU) 20 to control automatic transmission 9, acceleration pedal Aoperated by a driver. Moreover, control unit (ECU) 20 can be a controlunit for the throttle control, not for the automatic transmission. Thatis, this means the control unit other than one for an engine.

[0043]FIG. 3 shows the basic configuration of the decentralized controlsystem for a vehicle.

[0044] The decentralized control system for a vehicle comprises: controlunit (ECU) 10 including processor 13, memory 12, embedded software 11,data sink 14, data source 15, analog input 41 for the A/D conversionoutput of input to e.g. an airflow sensor, digital input 42 for pulsesfrom e.g. a crank angle sensor, analog output 51 for the voltage todrive peripheral equipment, and digital output 52 for pulses to drivethe peripheral equipment; and control unit (ECU) 20 which has the sameconfiguration as ECU 10.

[0045]FIG. 4 shows an example of the configuration of embedded software11. As shown in PIG 4, Embedded software 11 comprises applicationsoftware 111 and basic software 112. Basic software 112 comprises realtime operation system (RTOS) 1121 and basic input/output system (BIOS)1122. RTOS 1121 starts the task of the time cycle and the task whichsynchronizes with the external input, and provides interrupt disabledprocessing and the call service for other tasks to application software111.

[0046] BIOS 1122 receives the demand from the application software 111,and reads external input data 4 and outputs external output data 5. Byadopting the configuration of FIG. 4, it is possible to separate thepart (BIOS) which depends on hardware in the embedded software, thereal-time control functions such as the interruption signal processingand the timer processing, etc., the application part which depends onthe controlled system such as the ignition control etc. of the engineand the gear-shift control of the transmission. For instance, there isan advantage that only BIOS is changed when CPU changes, and theapplication software can be used as it is.

[0047]FIG. 5 shows an example of the configuration of the applicationsoftware.

[0048] Application software 111, for instance, comprises a task which isstarted at a fixed cycle like 10 ms cycle task, a task which is startedin synchronization with the external signal like engine revolutionsynchronized task 1112, etc. of start like cycle of ten ms task 1111 atconstant cycle synchronizing with external signal, and a task executedwhen processor is not used like background task 1113. Each of thesetasks comprises the task processing basic software and the controlapplication.

[0049] For instance, the 10 ms cycle task comprises a 10 ms taskprocessing basic software, diagnosis control 11112, fuel correctioncontrol 11113, torque-based control 11114, and other controls. Thesymbol “ . . . ” in the figure means that the control logic is notlimited to the above-mentioned three kinds of logics.

[0050]FIG. 6 shows the operation of 10 ms task processing basic software11111. RTOS 1121 executes the start processing of 10 ms task processingbasic software 11111.

[0051] As a result, the processing of 10 ms task processing basicsoftware 11111 is executed. In step S1, an external input processing isrequested to BIOS 1122, and the latest value of the sensor which updatesthe input value to the airflow sensor, etc. In step S2, diagnosiscontrol 11112 is executed. Then, some controls are executed. In step S3,fuel correction control 11113 is executed. In step S4, torque basecontrol 11114 is executed. In step 5, the external output processing isrequested to BIOS 1122, and processing is ended.

[0052] By adopting the configuration shown in FIG. 5 and FIG. 6 as theapplication software, it becomes possible to process input processing S1from the outside, control processing S2, S3, S4 of which the objects aredifferent, and output processing S5 to the outside in the same task.

[0053]FIG. 7 shows a basic configuration of the torque base controlapplication software to which the present invention is applied. 1D, 1E,and 1F are the control software components which the target torque,variable A, and the update logic of control variable of the throttleopening are described, respectively. 2D, . . . , 2E and 2F are interfacesoftware which correspond to the control software components 2D, 2E and2F, respectively. 3A is a torque base control basic software where theorder of updating the variable of the control software components in thetorque base control, that is, the execution sequence is described. 4 isexternal input data obtained from BIOS 1122. For instance, said externalinformation is obtained by measuring by using the sensor, andcommunicating with other applications and controllers.

[0054] Reference numeral 5 designates the information output to theoutside by BIOS 1122. Said external output is executed by drivingactuator or communicating with other applications and controllers. Byadopting the configuration shown in FIG. 7, only interface software 2Dis changed, for instance, when software component 1D which operate thetarget torque is changed, and interface software 2E and 2F can be usedwithout being changed. That is, there is an effect that the reuse of theembedded software which has the interface software is improved byadopting the configuration shown in FIG. 7.

[0055]FIG. 8 shows an example of the control software component 1F shownin FIG. 7.

[0056] Here, C11 is a header file (TVO_Calculate.h) when softwarecomponent 1 to update the throttle opening (henceforth TVO) is updatedis described with C language. C12 is a source file (TVO_Calculate.c)when software component 1 to update TVO is described with C language. InC11, The prototype of the function to renew TVO is declared. That is,the external declaration (extern) of the function, the type (void) ofthe return value of the function, the function name (TVO_Calculate), thetype of the input value of the function, variable name (unsigned shortTargetTorque, . . . , unsigned short Variable_A), and the variable whichthe function updates, in a word, the type of the output value of thesoftware component and the pointer of variable name (unsigned short TVO)are declared. Whether the argument of the function is an input variableor an output variable is judged by whether identifier (*) to show thepointer argument is attached at the head of variable name. Said outputvariable corresponds to the control data calculated by the controloperation means in the embedded controller in the present invention.

[0057] C12 describes the function to renew TVO. That is, the type (void)of the return value of the function, the function name (TVO_CAlculate),the type and variable name (unsigned short TargetTorque, . . . ,unsigned short Variable_A) of the input value which is the argument ofthe function, the variable which unction updates, in a word, the type ofoutput value of software component and the pointer of variable name(unsigned short TVO) are defined, and the method(*TVO=TargetTorque*Kt+Variable_A*Ka) of renewing TVO is described.Target Torque and Variable_A are variables, and Kt and Ka are constants.

[0058]FIG. 9 shows C source codes C21, C22, and C23 as one example ofinterface software 2F shown in FIG. 7. They correspond to the controlsoftware components explained in C11 and C12 of FIG. 8. C21 is variabledeclaration C source file (TVO.c). C22 is C header file (TVO.h) todefine the variable reference instruction, and C23 is C header file(TVO_Update.h) to define the variable update instruction.

[0059] In C21, the variable declaration (unsigned short TVO) of TVOwhich is the output variable of corresponding software components C11and C12 is performed. In C22, the definition (#define TVO_-Get( ) TVO)of the instruction to which the variable refers and the type and thename (extern unsigned short TVO) of the variable which is the externalvariable declaration of TVO are performed to refer to variable TVOdeclared in C21 by other interface software.

[0060] In C23, the instruction executed when control basic software 3requests the update of the variable TVO is defined. That is, thedescribed C header file is read by the instruction to refer to the inputvariable (#include “TVO.h”-#include “variable_A”), the instruction nameto update the variable is defined (#define TVO-Update( )¥), the functionname of control software component C12 actually called is described(TVO_Calculate . . . ), the instruction to refer to control variablewhich becomes an input of the function to renew TVO is called(TargetTorque Get( ) . . . variableA_Get( )), and the address ofvariable TVO is designated as an output of the function to which TVO isrenewed (& TVO).

[0061] In FIG. 9, the instruction called to update the variable bysoftware components C 11 and C12 corresponding to interface softwareC21-C23 is only TVO_Update( ). When the update of the variable isdemanded (TVO_Update( )), the interface software collects input valuesnecessary for calling the function to update the variable(TargetTorque_Get( ) . . . variableA_Get( )) and designates the variableas an output (& TVO). Then, the function to update the variable isupdated and afterwards is called (TVO_Calculate( )).

[0062] By adopting the configuration shown in FIG. 9, for instance, whenthe update of the variable is required from the control basic software,the variable can be updated in the common instruction format completelyconsidering neither the number, the type of the input value of thefunction described in the control software components nor variable name.Moreover, the operation of the update and the declaration of the I/Ovariable can be separated from the control software components, and theindependence of the control software components is improved.

[0063] As one example of the control basic software, FIG. 10 shows thecontrol basic software of the torque-based control by which engine poweris controlled (hereinafter, called torque-based control framework) C31.In C311, the control software components executed in the torque-basedcontrol basic control part 3A of FIG. 7 are defined, and the informationdefined by the corresponding interface software is read. Moreover, thevariable that the simultaneity is demanded inside of the control basicsoftware 3 is defined in C312. Further, the input processing, the outputprocessing, OS service and the execution sequences of softwarecomponents executed by the control basic software are defined in C313.

[0064]FIG. 11 shows the executing processing in the torque-based controlbasic control part 3. The execution sequence of control basic software 3is defined in C313 of FIG. 10. In step S31, interrupt disabledprocessing (OS service) is called, and the task execution whichsynchronizes with the external signal is prohibited. As a result, thesimultaneity of the input value comes to be kept. In step S32, enginespeed is read from external input data 4. In step S33, the opening ofthe accelerator is read from external input data 4. In step S34, theinterrupt disabled release processing (OS service) is called. In stepS35, the update of the variable to designate the target torque isdemanded (software component execution). In step S36, the update of thevariable to designate the target throttle opening is demanded (softwarecomponent execution). In step S37, the target throttle opening isinstructed to the external electronically controlled throttle (externaloutput processing) and processing are ended.

[0065] There are the following advantages by composing the control basicsoftware as shown in FIG. 10 and FIG. 11. The part where the variable iscalculated in the embedded software, that is, control softwarecomponents 1D, . . . , 1E and 1F shown in FIG. 7 is frequently changedto adjust the control characteristic like the debugging of the controllogic and the time constant, etc.

[0066] While, there is the part where the change is comparatively fewlike a part where the order of updating the variable etc. are provided,that is, a part of the control basic software shown in FIG. 10 and FIG;11. It is possible to separate the part where a lot of changes exist andthe part where the change is few by composing the control basic softwareas shown in FIG. 10 and FIG. 11. Therefore, there is an advantage thatthe reuse of the control basic software component is improved.

[0067]FIG. 12 shows one example of the configuration of the BIOSinterface software. Numeral 11321 designates BIOS interface softwarecorresponding to the airflow sensor input, 11322 BIOS interface softwarecorresponding to the crank angle input value, 11323 BIOS interfacesoftware corresponding to injection quantity, and 11324 BIOS interfacesoftware corresponding to the target throttle opening. The configurationof BIOS interface software is similar to that of the interface softwareshown in FIG. 9. By adopting the configuration shown in FIG. 12, forinstance, when the update of the external input value is required fromthe control basic software, the external input value can be updated inthe common instruction format completely considering neither the number,the type of the input value of the function described in the controlsoftware components nor variable name. Moreover, the operation of theupdate and the declaration of the I/O variable can be separated from thecontrol software components, and the independence of the controlsoftware components is improved. It is similar also for an externaloutput. Moreover, the operation of the update and the declaration of theI/O variable can be separated from BIOS, and the independence of BIOS isimproved.

[0068] The development process of the embedded software is shown in FIG.13. The tool shown in FIG. 13 includes the program, the software, andthe device.

[0069] Control model 62 is constructed by control logic design tool 61.Embedded software source code 64 is made by embedded softwaredevelopment tool 63 based on control model 62. Further, binary file 66of the embedded software is made by using source code compilation tool65. Moreover, the embedded software is written in control unit (ECU) 10by using software write tool 67.

[0070] The example of software development tool 63 is shown in FIG. 14to FIG. 16.

[0071]FIG. 14 shows the embedded software development tool 63A as oneexample of embedded software development tool 63. Software components 1are generated from control model 62 by the software component generationtool 631A. The interface software generation tool 632A generatescorresponding interface software 2 referring to generated softwarecomponents 1.

[0072] FIG-15 shows embedded software development tool 63B as oneexample of embedded software development tool 63. Software components 1are generated from control model 62 by software component generationtool 631B.

[0073] Interface software generation tool 632B receives informationnecessary for generating the interface software from software componentgeneration tool 631B, and generates interface software 2 correspondingto software components 1.

[0074]FIG. 16 shows the embedded software development tool 63C as oneexample of embedded software development tool 63,

[0075] Software components 1 are generated from control model 62 by withthe software component generation tool 631A. The interface softwaregeneration tool 632A generates corresponding interface software 2referring to control model 62. The software components for the embeddedsoftware and the interface software becomes possible to generateautomatically by adopting the configuration of the embedded softwaredevelopment tool shown in FIG. 14, FIG. 15, and FIG. 16. Therefore, thenecessity manually coded disappears. Further, because the coding mistakedecreases, the debugging work can be reduced. As a result, thedevelopment efficiency of software improves.

[0076]FIG. 17, FIG. 18, and FIG. 19 show the concrete procedure ofautomatic generation of the interface software.

[0077]FIG. 17 shows the processing of interface software generationmeans 632. In step S41, information on the control software componentsis extracted, and the interface software is generated in step S42. Thedetailed content of step S41 is shown in FIG. 18. Moreover, the detailedcontent of S42 is shown in FIG-19.

[0078]FIG. 18 shows details of control software component informationextraction processing S41 as example of the control software componentsshown in FIG. 8.

[0079] First of all, the file name is extracted in step S411. That is,file name “TVO_Calculate.c” of C11 and C12 shown in FIG. 8 and“TVO_Calculate.h” are extracted. Next, function name is extracted instep S412. That is, function name “TVO_Calculate” described to C11 shownin FIG. 8 is extracted. In step S413, the number of I/O variables isextracted. That is, the I/O variable of function “TVO_Calculate” of C12shown in FIG. 8 is counted. In step S414, 110 variable name is extractedbased on the number of variables counted in S413. That is, “TargetTorque” and “variable_A” in C12 shown in FIG. 8 are extracted as aninput variable, and “TVO” is extracted as an output variable. The outputvariable is identified by “&” put on at the head of the variable name,which designates the pointer argument. In step S415, the I/O variableform is extracted. That is, variable type “unsigned short” of “TargetTorque”, etc. in C12 shown in FIG. 8 are extracted. Said input variablecorresponds to the reference data in the embedded controller developmenttool in the present invention. Said output variable corresponds to thecontrol data in the embedded controller development tool in the presentinvention.

[0080]FIG. 15 shows the details of interface software generationprocessing S42.

[0081] The example of generating the interface software is explainedreferring to FIG. 9. In step S421, the file of the interface software isgenerated from file names of the software components extracted in stepS411. That is, the software component name of “TVO” is obtained bydeleting the character after “_” defined as separator in the embeddedcontroller from “TVO_Calculate.c” and “TVO_Calculate.h”.

[0082] The following files are generated as interface softwarecorresponding to the software components. “Name of extracted interfacesoftware” File of + “.c”, “Name of extracted interface software” Fileof + “.h”, “Name of extracted interface software” File of + “Update.h”.That is, these are “TVO.c” “TVO.h” “TVO_Update.h” shown in FIG. 9.

[0083] Next, in step S422, the name of output variable of the softwarecomponent extracted in step S414 and the declaration part of thevariable which becomes an output of the software component with typeinformation on output variable of the software component extracted inS415 is generated in the file “Name of the extracted interfacesoftware”+ “.c”. That is, the instruction to allocate the variable ofvariable name of the extracted output variable by the type of theextracted output variable in the memory is output to the source file.This is “unsigned short TVO;” in C21 shown in FIG. 9. In this case, thepart of “unsigned Short” is the type of the output variable, and thepart of “TVO” is the variable name of the output variable. Referenceinstruction of output variable of the software component is generated instep S423 based on name of output variable of the software componentextracted in step S414. That is, this is “#define TVO_Get( ) TVO” in C22shown in FIG. 9. This is defined as a macro of the name “Variable nameof the output variable”+ “_Get( )”, and the substance becomes an outputvariable name. Therefore, when the macro is described in the sourcecode, and the source code is converted with a pre-processor, the macrofor the reference is replaced with the variable of the reference aheadin the source code. In step S424, An output variable update instructionis generated based on name of the I/O variable of the software componentextracted in step S414 and the type information on input variable of thesoftware component extracted in step S415. That is, this is C23 shown inFIG. 9. The macro “Output variable name”+“_Update( )” is defined as anoutput variable update instruction. The substance of the macro isallocated in operation function “TVO_Calculate” the output variableextracted in step S412. Pointer “&TVO” which designate the address ofthe output variable “TVO”, input variable “Target Torque”, referenceinstruction “Target Torque_Get( )” and “variable A_Get( )” of“variable_A” extracted in step S414 is allocated in the argument of thefunction. Interface software 2 can be generated automatically fromcontrol software components 1 and control model 62 by adopting theconfiguration shown in FIG. 17, FIG. 18, and PIG 19. Therefore, thenecessity manually coded disappears. Further, because the coding mistakedecreases, the debugging work can be reduced. As a result, thedevelopment efficiency of software improves.

[0084]FIG. 20 shows the schematic diagram of network notice assignmentof the embedded software.

[0085]FIG. 20 especially shows an example of software component noticeassignment. Software component server 73 is connected with network 71.Client PC72 is connected with software component server 73 throughnetwork 71, and software component 1 are transmitted according to thedemand from client PC72. Client PC72 can write the received softwarecomponent 1 in the electronically controlled unit (ECU) 10B. Moreover,it becomes possible for ECU 10A to connect with software componentserver 73 via network 71 by itself by providing the network connectionfunction for ECU 10A oneself, and update the software component. Thefollowing advantages can be obtained by distributing the embeddedsoftware shown in this embodiment in the network. In the embeddedsoftware of the present invention, only the corresponding interfacesoftware 2 is changed when control software component 1 is changed, andbasic parts of the control basic software and the task processing basicsoftware, etc. are not changed. Therefore, there is an advantage thatthe change in software at the service factory becomes easy. Moreover,there is an advantage that the data amount transmitted can be decreasewhen only the software component is transmitted compared with the caseto transmit the whole.

[0086]FIG. 21 shows the outline of one example of the embedded softwarenotice assignment service.

[0087] Client PC 72 is connected with control software component saleshomepage 74 through network 71. Client PC 72 is connected with chargesettlement system 75 after control software component 1 downloaded isselected in control software component sales homepage 74, and thesettlement in the purchase charge is performed. Then, control softwarecomponent 1 are downloaded from software component server 73, and iswritten in control unit (ECU) 10.

[0088] The following advantages are obtained by adopting theconfiguration shown in FIG. 21.

[0089] Writing the embedded software becomes possible by attesting bythe account system and the homepage for not only the service factory butalso the general user. That is, it becomes possible to make the embeddedcontroller of my favor by buying the embedded software of the embeddedcontroller of home electric appliances product, the speed-shift patternof the automatic transmission and the running mode of a vehicle in thenetwork. The following functions except the operation logic existtogether in the control operation means when the control operation meansperforms the declaration of the variable used in the embeddedcontroller, the input process, and the update, etc.

[0090] For instance, processing to allocate the operation result in thespecific address of the memory of the embedded controller, processing torefer variable which is output result of other control operation meanswhen operating, reference processing of variable which generates theoperation result and generation of the execution interface for controlbasis means to execute. This means that the function changes other thanthe operation logic and the verifications are required at the change inthe operation logic. That is, the problem that the man-hour according tothe software development for the embedded controller increases iscaused.

[0091] To solve the above-mentioned problem, the output variablereference function that other interface means refer to said outputvariable which said interface means possesses is provided to saidinterface means in the embedded controller in the present invention.

[0092] To solve the above-mentioned problem, the input variablecollection function to collect input variables used when said controloperation means corresponding to said interface means calculates byusing the output variable reference function in other interface means orin itself is provided to said interface means in the embedded controllerin the present invention.

[0093] To solve the above-mentioned problem, the interface meansspecifies the control data to be calculated by the control operationmeans, and orders the execution of the operation processing by thecontrol operation means, with the data collected by the interface meansand used for the operation by the control operation means referred, whenthe control operation means calculates. That is, the output variableupdating function is provided to the interface means.

[0094] Software for the embedded controller can be classified into thepart frequently changed or the operation logic of the variable and thepart reused when almost permanent or the order of updating the variable.

[0095] There is a problem that it is necessary to change to the part ofthe order of updating the variable which should not be changed though itis the change in the operation logic of the variable in software for theembedded controller when this is one program.

[0096] In the embedded controller in the present invention to solve theabove-mentioned problem, said control basis processing means defines thekind of the control operation means by which execution is ordered, andthe execution sequence of said control operation means, said externalinput processing means, said external output processing means and saidbasic management means. Said control basis processing means orders theexecution of said external input processing means, said controloperation means, said external output processing means, and said basicmanagement means.

[0097] It is necessary to change the corresponding control operationmeans to change the method of operating a certain variable when onecontrol operation means operates two or more variables. Therefore, Thereis a problem that the control operation means by which the operation isdone is changed also for the variable to which the operation means isnot changed.

[0098] To solve the above-mentioned problem, the variable for othercontrol operation means and the external output means to refer isassumed to be one per one control operation means in the embeddedcontroller in the present invention.

[0099] It was necessary to distribute the entire software by therecording medium such as CD-ROM though it is the version-up of a part ofsoftware when the software of the embedded controller is changed.Therefore, there is the problem of taking time to distribute software.

[0100] When the embedded controller notice assignment is served, thecontrol operation means server means which keeps and transmits saidcontrol operation means, and the control operation means sales meanswhich sells the control operation means are connected in the network inthe present invention to solve the above-mentioned problem.

[0101] Making to a high function and the enlargement of control softwarefor the embedded controller are advanced in the background of malting ofthe control system electronics, typically X-by-Wire and the hybridsystem, and legal restrictions of the emission requirement and the OBDrestriction, etc. for the vehicle control.

[0102] Moreover, there is a problem of designing and making the controlsoftware which makes to a high function and enlarges efficiently.

[0103] To solve the above-mentioned problem, said embedded controller isinstalled in the vehicle to control the engine and transmission gear,etc. in the present invention.

What is claimed is:
 1. An Embedded controller comprising: an externalinput processing means which makes data from either of the input signalmeasured with the sensor or the input signal received from anotherembedded controller; a control operation means which obtains controldata based on the control data obtained by at least one of the concernedor another control operation means; an external output processing meanshaving a plurality of control operation means, which generates thecontrol signal to drive an actuator based on the control data obtainedby the concerned control operation means, a control basis processingmeans which manages the execution sequence of said external inputprocessing means, said external output processing means, and saidcontrol operation means; and an interface means which manages thehanding over of the control data between the concerned control operationmeans and another control operation means, and an operation executiveorder to said control operation means according to the request from saidcontrol basis processing means; wherein said interface means is providedevery said control operation means.
 2. An embedded controller accordingto claim 1, wherein said interface means preserves said control datacalculated by said control operation means corresponding to saidinterface means.
 3. An embedded controller according to claim 2, whereinother interface means refers to said control data of said controloperation means preserved by said interface means.
 4. An embeddedcontroller according to claim 3, wherein said interface means collectssaid data used when said control operation means corresponding to saidinterface means calculates referring to said control data preserved byother interface means or preserve or said control data preserved by theconcerned interface means.
 5. An embedded controller according to claim4, wherein said interface means specifies said control data to becalculated by said control operation means, and orders the execution ofthe operation processing by said control operation means, with said datacollected by said interface means and used for the operation by saidcontrol operation means referred, when said control operation meanscalculates.
 6. An embedded controller according to any one of claims 1to 5, wherein said interface means preserve the control data which isthe calculation result by said control operation means, and wherein onlyone control data is preserved every control operation means.
 7. Anembedded controller according to any one of claims 1 to 6, wherein saidcontrol operation means are one that the source code of the programminglanguage is generated automatically based on the control model wheredata referred in the operation and said control data where the specificoperation procedure and result are output are described.
 8. An embeddedcontroller development tool which generates an interface means firpreserving and outputting a control data calculated by the controloperation means based on a specific computational procedure, andproviding said control data to a plurality of control operation meansincluding said control operation means; wherein the control operationmeans is described as a function in the source code of the program, thereference data used for calculation by said control operation is anargument of the function, said control data calculated by said controloperation means is the argument of the function which points the returnvalue or the address of said function, further comprising; an analyzingmeans which extracts the specified information from the source code ofsaid control operation means; an interface generating means whichgenerates said corresponding interface means every control operationmeans based on an analytical result of said analyzing means.
 9. Anembedded controller development tool according to claim 8, wherein thesource code of said interface means generation means provides thecontrol data declaration for the interface means generation means toallocate the preservation area for said control data onto the embeddedcontroller based on control data name of said control data which is thecalculation result of the control operation means extract ed by theanalyzing means and type information on said control data which is thecalculation result.
 10. An embedded controller development toolaccording to claim 8, wherein interface generating means includes thefunction to read the data which the interface means generation meansuses for the source code of the interface means to calculate from theexternal input processing means and other interface means is providedbased on the reference data name of said reference data used to benumerical of said reference data used to calculate of the extractionwith the control operation means analysis tool and to calculate.
 11. Anembedded controller development tool according to claim 8, wherein theinterface means generation means provides the function to demand theupdate of said control, data where said control basis processing meansetc. are calculation results of the control operation means or themacroinstruction to the source code of the interface means based on saidcontrol data name of a said control data which is the calculation resultof the control operation means extracted by the control operation meansanalysis tool.
 12. An embedded controller development tool according toclaim 8, wherein the interface means generation means provides thefunction to refer said control data where said control basis processingmeans etc. are calculation results of the control operation means or themacroinstruction to the source code of the interface means based on saidcontrol data name of a said control data which is the calculation resultof the control operation means extracted by the control operation meansanalysis tool.
 13. An embedded controller development tool any one ofaccording to claims 8 to 12, wherein said control operation means is theone that the source code of the programming language is generatedautomatically based on the vehicle control model where the data whichoutputs the specific operation procedure and operation result and thedata referred for the operation are described.
 14. An embeddedcontroller developed by using a development tool according to any one ofclaims 8 to
 13. 15. A controller for the vehicle control which output acontrol signal to control the internal combustion engine or transmissiongear based on the instruction of a driver and the state of the enginemeasured by a sensor or an input signal from the outside received fromother vehicle control controllers, comprising: an external inputprocessing means which makes data the input signal from the outsidewhich is measured with sensor or received from other embeddedcontrollers; a plurality of control operation means which calculatesdata from data of input signal and the calculation result of othercontrol operation means based on specific computational procedure; anexternal output processing means which outputs a control signal tocontrol an internal combustion engine or an transmission gear based ondata calculated by control operation means; a control basis processingmeans which manages the execution sequence of said external inputprocessing means, said external output processing means, and saidcontrol operation means; and an interlace means which manages thehanding over to said control operation means and the execution orderfrom said control basis means to said control operation means in eachsaid control operation means.
 16. A controller for a vehicle controlaccording to claim 15, wherein said control operation means is the onethat the source code of the programming language is generatedautomatically based on the vehicle control model where the data whichoutputs the specific operation procedure and operation result and thedata referred for the operation are described.
 17. A controllerdevelopment tool, wherein the controller for vehicle control isdeveloped by the controller development tool according to any one ofclaims 8 to 13.